0 REM COPYRIGHT 1994 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 1 IFA=0THENA=1:LOAD"LINK.DATA",8,1 2 POKE53280,0:POKE53281,0:POKE53270,216:POKE53282,2:POKE53283,1:POKE788,52 3 POKE792,193:POKE56578,63:POKE56576,196:POKE53272,18:POKE648,196 4 PRINT"[154][147]"CHR$(14)CHR$(8):GOSUB100 5 X=5:Y=5:GOSUB138:PRINT"[158][206]"Z$"[208]":FORK=0TO2:PRINTTAB(5)"[210]O"SPC(26)"O[210]":NEXT 6 PRINTTAB(5)"[209]"Z$"[211]" 7 FORK=0TO25:FORL=0TO2:POKE50423+K+L*40,128+K+L*26:NEXT:NEXT:X=7:Y=11:GOSUB138 8 PRINTSP$:PRINTTAB(7)"O[146]CREATEDO[146]BY:O[146]JOHNO[146]CAMERONO":PRINTTAB(7)SP$ 9 PRINTTAB(11)""LEFT$(SP$,19):PRINTTAB(11)"O[146]@O[146]COPYRIGHTO[146]1994O" 10 PRINTTAB(11)LEFT$(SP$,19):PRINTTAB(11)"O[146]COMPUTEO[146]MAGAZINEO" 11 PRINTTAB(11)LEFT$(SP$,19):PRINTTAB(13)"[158])O[146]PRESSO[146]FIREO[146](" 12 FORK=0TO7:MS=FNRN(253)+1:POKE51456+K,MS:ML=1:GOSUB94 13 IF((PEEK(56320)AND16)=0)OR((PEEK(56321)AND16)=0)THENK=10 14 NEXT:IFK<10THEN12 15 FORK=0TO7:POKE51456+K,0:NEXT 16 PRINT"[147][156] [176]"BD$"[174]":FORK=0TO13:PRINT"[221]"SPC(36)"[221]":NEXT 17 GOSUB93:PRINT""; 18 FORK=0TO1:FORL=0TO1:PRINT"[221] [221] [221]";:NEXT:PRINT"";:NEXT 19 PRINT"[173][192][178][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][189][173][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][178][192][189]" 20 FORK=0TO4:PRINT"[221]"SPC(32)"[221]":NEXT:PRINT"[173]"LEFT$(BD$,32)"[189]"; 21 X=14:Y=0:GOSUB138:PRINT"([158] LINK 'EM )" 22 FORK=2TO18STEP2:FORY=1TO13STEP2:X=K:GOSUB138:GOSUB155:PRINTSQ$(0) 23 X=38-K:GOSUB138:GOSUB155:PRINTSQ$(0):NEXT:NEXT 24 X=6:Y=19:GOSUB138:PRINT"HOW MANY TO PLAY AGAINST YOU?" 25 NM=3:GOSUB55:GOSUB59:NP=CH+1:GOSUB71:RM=126:CP=1:PX=0:PY=0 26 FORK=1TONP:PS(K)=0:PN$(K)="BALL"+STR$(K):GOSUB140:NEXT 27 FORK=1TONP:Y=16:GOSUB143:POKE646,CL(K)-8:PRINTPN$(K):NEXT 28 FORK=1TONP:POKE646,1-2*(CP<>K):GOSUB99 29 GOSUB141:NEXT 30 GOSUB48:POKESP+21,1:OX=PX:OY=PY 31 GOSUB73 32 PX=PX-(JR=8ANDPX<17)+17*(JR=8ANDPX>16)+(JL=4ANDPX>0)-17*(JL=4ANDPX<1) 33 PY=PY-(JD=2ANDPY<6)+6*(JD=2ANDPY>5)+(JU=1ANDPY>0)-6*(JU=1ANDPY<1) 34 IFFBTHEN36 35 IFPX=OXANDPY=OYTHEN31 36 GOSUB48:IFFBTHENPOKESP+21,0:GOSUB159:GOTO38 37 GOTO30 38 IFRM>0THEN28 39 X=0:Y=15:GOSUB138:GOSUB93 40 WN=1:BG=0:FORK=1TONP:PRINT"[159]":GOSUB99 41 IFPS(K)>BGTHENBG=PS(K):WN=K 42 NEXT:K=WN:GOSUB143:GOSUB144:PRINT""SC$ 43 X=5:Y=21:GOSUB138:PRINT"[159]PLAYER"WN"[157][159]: YOU ARE THE WINNER!" 44 FORZK=1TO4:CP=K:X=4:Y=19:GOSUB138:POKE646,CL(ZK)AND7:PRINT"[206]"Z$"[207][207][208]" 45 FORK=1TO3:PRINTTAB(4)"[210]"SPC(30)"[210]":NEXT:PRINTTAB(4)"[209]"Z$"[207][207][211]" 46 IF((PEEK(56320)AND16)=0)OR((PEEK(56321)AND16)=0)THEN16 47 NEXTZK:GOTO44 48 GOSUB150:POKESP,SX:POKESP+16,LR:POKESP+1,SY:RETURN 49 END 50 X=4+INT((33-3*NM)/2):Y=19:GOSUB138:FORK=0TONM-1 51 S1(K)=CL(FNRN(3)+1):S2(K)=FNRN(6) 52 F=0:IFK>0THENGOSUB57 53 IFF=1THEN51 54 POKE646,S1(K):PRINTFM$(S2(K))" ";:NEXT:PRINT 55 X=4+INT((33-3*NM)/2):Y=21:GOSUB138:FORK=0TONM-1 56 PRINT"[154]"NU$(K)" ";:NEXT:PRINT:RETURN 57 FORL=0TOK-1:IFS1(L)=S1(K)ANDS2(L)=S2(K)THENF=1:L=K 58 NEXT:RETURN 59 CH=0 60 Y=22:GOSUB67:PRINTAR$ 61 OL=CH:GOSUB73:CH=CH-(JR=8ANDCH0) 62 IFCH<>OLTHENZ=X:X=4+INT((33-3*NM)/2)+3*OL:GOSUB138:PRINT" ":GOSUB66 63 IFNOTFBTHEN60 64 MS=30:ML=10:GOSUB94 65 CH=OL:Y=21:GOSUB138:PRINT"[151]"ZZ$(CH)"[157][157] ":CH=CH+1:RETURN 66 X=Z:MS=50:ML=10:GOSUB94:RETURN 67 X=4+INT((33-3*NM)/2)+3*CH:GOSUB138:RETURN 68 Y=21:CH=C1:GOSUB67:A$=ZZ$(CH):A=OD(CH):ZZ$(CH)=ZZ$(C2):PRINT"[154]"ZZ$(CH) 69 OD(CH)=OD(C2):CH=C2:GOSUB67:OD(C2)=A 70 ZZ$(CH)=A$:PRINT"[154]"A$:RETURN 71 X=4:FORY=19TO23:GOSUB138:PRINT" ":NEXT 72 RETURN 73 JY=15-(PEEK(J)AND15):JU=JYAND1:JD=JYAND2:JL=JYAND4:JR=JYAND8 74 FB=((PEEK(J)AND16)=0) 75 IFJU=0ANDJD=0ANDJR=0ANDJL=0ANDFB=0THEN77 76 RETURN 77 A=-(J=56320)+(J=56321):J=J+A:GOTO73 78 FORZ1=0TO7:X0=PX:Y0=PY 79 IFY0<3AND(Z1<2ORZ1=7)THEN91 80 IFY0>4AND(Z1>2ANDZ1<6)THEN91 81 IFX0<3AND(Z1>4)THEN91 82 IFX0>14AND(Z1>0ANDZ1<4)THEN91 83 FORZ2=0TO2:X0=X0+XD(Z1):Y0=Y0+YD(Z1):B0=(X0+1)+Y0*18 84 IFX0<0ORX0>17ORY0<0ORY0>6THENZ2=9:GOTO86 85 IFUN(B0)<>(9+CP)THENZ2=9 86 NEXTZ2:IFZ2=10THEN91 87 FORK=1TONP:POKE646,1-2*(CP<>K):GOSUB99:NEXT 88 UN(B0)=20:X=2+X0*2:Y=1+Y0*2:GOSUB138:POKE646,CL(CP):PRINTBL$(5) 89 B0=(PX+1)+PY*18:X=2+PX*2:Y=1+PY*2:GOSUB138:PRINTBL$(5):UN(B0)=20 90 PS(CP)=PS(CP)+250:MS$="[158]FOUR IN A ROW! BONUS 250 PTS!":GOSUB145 91 NEXTZ1 92 RETURN 93 PRINT"[156][171][192][192]( )[192][192][178][192][192]( )[192][192][174][176][192][192]( )[192][192][178][192][192]( )[192][192][179]":RETURN 94 POKESO+5,10:POKESO+6,5:POKESO+24,7:POKESO,0:POKESO+1,MS 95 POKESO+4,33:FORSZ=1TOML:NEXT:POKESO+4,32:RETURN 96 ML=5:FORMS=200TO10STEP-10:GOSUB94:NEXT:RETURN 97 ML=5:FORMS=10TO200STEP10:GOSUB94:NEXT:RETURN 98 ML=1:FORMS=0TO255STEP5:GOSUB94:NEXT:RETURN 99 Y=17:GOSUB143:GOSUB144:PRINTSC$:RETURN 100 Z$="[207]":FORK=0TO26:Z$=Z$+"[207]":NEXT 101 X$="":Y$="" 102 SP$="":FORK=0TO25:SP$=SP$+"O":NEXT 103 BD$="[192]":FORK=0TO34:BD$=BD$+"[192]":NEXT 104 FORK=0TO5:READBL$(K):NEXT 105 DATA"[","\","]","^_","[193][194][157][157][195][196][145]","#$[157][157]%&[145]" 106 FORK=0TO5:READFM$(K):NEXT:FM$(6)=BL$(4):J=56320 107 DATA"]][157][157]]][145]","^_[157][157][212][213][146][145]","[186][187][157][157][188][190][145]","*+[157][157]-/[145]","^_[157][157]]][145]","]][157][157][212][213][146][145]" 108 FORK=0TO8:READNU$(K):NEXT:READAR$ 109 DATA"[223][160]","[161][162]","[163][164]","[165][166]","[167][168]","[169][170]","[172][175]","[180][181]","[184][185]","[155][182][183]" 110 FORK=0TO4:READSQ$(K):NEXT:FORK=0TO4:READSN$(K),SC(K):NEXT 111 DATA"[151][197][198][157][157][199][200][145]",";<[157][157]=>[145]","[201][202][157][157][203][204][145]","[151][214][215][157][157][216][217][145]","[151][218][219][157][157][220][255][145]" 112 DATA"[207][157][208][145]",10,"[205][157][206][145]",15,"[209][157][210][145]",25,"[211][157][212][145]",50,"[213][157][206][145]",75 113 FORK=1TO4:READCL(K):NEXT:DATA10,14,13,15 114 DIM UN(126) 115 SO=54272:FORK=0TO24:POKESO+K,0:NEXT:POKESO+15,255:POKESO+18,128 116 POKESO+24,128 117 DEF FNRN(X)=INT((PEEK(SO+27)/256)*(X+1)) 118 UP$="YOUR SCORE GOES UP BY " 119 SP=53248:POKESP+21,0:POKE51192,0:POKESP,39:POKESP+1,57:POKESP+16,0 120 POKESP+39,10:FORK=49152TO49203STEP3:POKEK,192:POKEK+1,0:POKEK+2,192:NEXT 121 FORK=0TO1:POKE49152+K,255:POKE49203+K,255:NEXT 122 FORK=49206TO49216:POKEK,0:NEXT:GOSUB130 123 CS$(0)=SN$(2)+SN$(3):CS$(1)=SN$(3)+SN$(0):CS$(2)=SN$(4)+SN$(3) 124 CS$(3)=SN$(1)+SN$(0)+SN$(0):CS$(4)=SN$(1)+SN$(3)+SN$(0) 125 CS$(5)=SN$(2)+SN$(0)+SN$(0):CS$(6)=SN$(2)+SN$(3)+SN$(0) 126 FORK=0TO6:READS2$(K):NEXT:DATA25,50,75,100,150,200,250 127 FORK=0TO7:READXD(K),YD(K):NEXT 128 DATA0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1 129 RETURN 130 FORK=0TO8:ZZ$(K)=NU$(K):OD(K)=K:NEXT:RETURN 131 ZY(0)=FNRN(NM-1):FORK=1TONM-1 132 ZY(K)=FNRN(NM-1):FL=0:FORL=0TOK-1:IFZY(K)=ZY(L)THENFL=1:L=K 133 NEXTL:IFFL=1THEN132 134 NEXTK:RETURN 135 F=0:FORK=0TONM-1:IFZY(K)<>OD(K)THENF=1:K=NM 136 NEXT:IFF=0THENFL=1 137 RETURN 138 PRINT""LEFT$(X$,X)LEFT$(Y$,Y);:RETURN 139 X=5*K+(4*(K-1))-(K>2):RETURN 140 GOSUB139:Y=15:GOSUB138:POKE646,CL(K):PRINT"^_":RETURN 141 GOSUB139:X=X-1:Y=15:GOSUB138:POKE646,1-2*(CP<>K) 142 PRINT"()":RETURN 143 X=3*K+(6*(K-1))-(K>2):GOSUB138:RETURN 144 S$=STR$(PS(K)):SC$=RIGHT$("000000"+RIGHT$(S$,LEN(S$)-1),6):RETURN 145 OX=X:OY=Y:GOSUB71:X=14:Y=20:GOSUB138:PRINT"[191] PLAYER"CP"[157] [191]" 146 X=4+INT((34-LEN(MS$))/2):Y=22:GOSUB138:PRINTMS$ 147 A=(PEEK(646)AND7):A2=-(A=2)-2*(A=5)-3*(A=7):ONA2GOSUB96,97,98 148 FORL=1TO2000:NEXT:ZK=FRE(0):GOSUB71:X=OX:Y=OY:RETURN 149 GOSUB138:PRINT" [157][157] ":UN(B)=9+CP:GOSUB156:RETURN 150 XX=2+PX*2:YY=1+PY*2:SY=57+16*PY:LR=-(PX>13):SX=39+16*PX+256*(LR=1) 151 RETURN 152 CP=CP+1:IFCP>NPTHENCP=1 153 RETURN 154 GOSUB152:RETURN 155 B=INT(X/2)+INT(Y/2)*18:UN(B)=FNRN(8)+1:MS=B:ML=1:GOSUB94:RETURN 156 POKE646,CL(CP):FORZ1=0TO4:X=XX:Y=YY:GOSUB138 157 PRINTBL$(Z1):MS=15*Z1:ML=25:GOSUB94:NEXT:GOSUB78:RETURN 158 B=INT(XX/2)+INT(YY/2)*18:A=UN(B):RETURN 159 GOSUB158:IFA=0THEN162 160 X=XX:Y=YY:GOSUB138 161 ONAGOSUB165,168,170,171,172,173,174,176,177 162 IFA>9THENMS$="THAT SPACE IS ALREADY OCCUPIED!":GOSUB145 163 IFA<10THENRM=RM-1 164 RETURN 165 PRINT"[154]"SN$(1)SN$(0):PS(CP)=PS(CP)+10:MS$=UP$+"10 PTS." 166 MS=150:ML=100 167 GOSUB94:GOSUB145:GOSUB149:GOSUB152:RETURN 168 PRINT"[154]"SN$(1)SN$(3):PS(CP)=PS(CP)+15:MS$=UP$+"15 PTS.":GOTO166 169 GOTO166 170 PRINT"[154]"SN$(2)SN$(3):PS(CP)=PS(CP)+25:MS$=UP$+"25 PTS.":GOTO166 171 PRINT"[154]"SN$(3)SN$(0):PS(CP)=PS(CP)+50:MS$=UP$+"50 PTS.":GOTO166 172 PRINT"[154]"SN$(4)SN$(3):PS(CP)=PS(CP)+75:MS$=UP$+"75 PTS.":GOTO166 173 PRINT"[150]"SQ$(1):MS$="NO ADVANCEMENT IN SCORE!":MS=25:ML=100:GOTO167 174 PRINT"[153]"SQ$(1):MS$="YOU RECIEVE A FREE MOVE!":MS=100:ML=100:GOSUB94 175 GOSUB145:GOSUB149:RETURN 176 POKE646,CL(CP):PRINTSQ$(2):MS=175:ML=100:GOSUB94:GOSUB179:RETURN 177 PRINTSQ$(3):MS$="THE MARKER YOU PUT HERE IS LOST!":MS=10:ML=100:GOSUB94 178 UN(B)=20:GOSUB145:GOSUB152:RETURN 179 OX=X:OY=Y:GOSUB71:X=4:Y=19:GOSUB138:MT=1 180 PRINT"WHAT WOULD YOU LIKE TO PLAY FOR?":X=8:Y=21:GOSUB138 181 FORK=0TO6:PRINT"[154]"CS$(K)" ";:NEXT:NM=0:GOSUB130 182 X=8+3*NM-(NM-3)*(NM>3):Y=23:GOSUB138:PRINTAR$ 183 OL=NM:GOSUB73:NM=NM-(JR=8ANDNM<6)+(JL=4ANDNM>0) 184 IFNM<>OLTHENZ=X:X=8+3*OL-(OL-3)*(OL>3):GOSUB138:PRINT" ":GOSUB204 185 IFNOTFBTHEN182 186 NM=OL:Y=21:GOSUB138:PRINT"[151]"CS$(NM):NM=NM+3:GOSUB71:GOSUB50:MR=NM*2 187 GOSUB131:P4=NM-3 188 GOSUB199:FL=0:GOSUB135:IFFL=1THEN196 189 X=22:Y=23:GOSUB138:PRINT"MOVE:"RIGHT$(STR$(MT),2)" OF "; 190 PRINTRIGHT$(STR$(MR),2):GOSUB59:C1=CH-1 191 CH=CH-1:GOSUB60:C2=CH-1:IFC2=C1THEN191 192 GOSUB68:GOSUB199:FL=0:GOSUB135:IFFL=1THEN196 193 MT=MT+1:IFMT<=MRTHEN189 194 MS$="YOU FAILED TO FIND THE ORDER!" 195 GOSUB202:X=OX:Y=OY:GOSUB138:PRINTSQ$(4):UN(B)=20:GOTO198 196 GOSUB202:X=OX:Y=OY:GOSUB149 197 MS$=UP$+S2$(P4)+" PTS.":PS(CP)=PS(CP)+VAL(S2$(P4)) 198 GOSUB145:GOSUB130:GOSUB152:RETURN 199 X=5:Y=23:GOSUB138:PRINT"CORRECT:";:CT=0:FORK=0TONM-1 200 IFZY(K)=OD(K)THENCT=CT+1 201 NEXT:PRINTRIGHT$(STR$(CT),1):RETURN 202 X=4+INT((33-3*NM)/2):Y=22:GOSUB138:FORK=0TONM-1 203 PRINT"[150]"NU$(ZY(K))" ";:NEXT:FORK=1TO4000:NEXT:RETURN 204 X=Z:MS=75:ML=10:GOSUB94:RETURN